The claimed invention relates generally to the field of digital data storage and more particularly, but not by way of limitation, to an apparatus and method for remote execution of diagnostic firmware in a block data storage device over a computer network, such as the Internet.
Block data storage devices store and/or retrieve digital data in the form of blocks, which are individually addressable by a host device. Exemplary block data storage devices include hard disc drives, optical disc recorders and players, and magnetic digital tape recorders and players.
Such devices typically comprise a hardware/firmware based interface circuit, a communication channel and a recordable medium. The interface circuit includes a buffer for the temporary storage of transferred data and a programmable controller that provides top level control of the device. The user memory space of the recording medium is divided into a number of addressable blocks which are assigned host-level addresses (sometimes referred to as logical block addresses or LBAs). Each LBA typically has a corresponding physical block address (PBA) used by servo control circuitry to align a data transducing head with the appropriate portion of the medium to access the desired LBA.
To write data to the medium, the host device issues a write command comprising the user data to be stored by the storage device along with a list of LBAs to which the user data are to be stored. The storage device temporarily stores the user data in the buffer, schedules movement of the data transducing head to the appropriate location(s) over the medium, and then uses write channel portions of the communication channel to apply the appropriate encoding and conditioning of the data to write the data to the selected LBAs.
To subsequently read the data from the storage device, the host device issues a read command identifying the LBAs from which data are to be retrieved. The storage device schedules movement of the data transducing head to the appropriate location(s) over the medium, and then uses read channel portions of the communication channel to decode readback data which are placed into the buffer for subsequent transfer back to the host device. Such host-device data transfers are typically accomplished through a host interface port configured in accordance with an industry standard protocol such as ATA, SCSI, etc.
The controller uses operational programming (xe2x80x9cplatform firmwarexe2x80x9d) to manage the overall operation of the device. The platform firmware is typically stored in an integrated circuit memory device accessible by the controller during operation. The memory device further typically stores diagnostic firmware comprising programming that allows a user to monitor the operation of the platform firmware and diagnose error conditions. The diagnostic firmware is often configured to be accessed though a separate communications (COM) port using a serial connection to the device.
In the past, diagnostic evaluation of a device (such as during design or manufacturing) has typically required connecting the device directly to a host computer and installing special communication software on the host computer that allows the user to access the COM port and execute the diagnostic firmware. Limitations associated with this approach include the fact that in today""s environment device manufacturers can have manufacturing and design facilities scattered throughout the world. Thus, if the expertise required to diagnose a particular device condition is at a different location than the device, it is necessary to either ship the device to another location or require an engineer or other personnel to travel to the site at which the device is located in order to observe the operation of the device in the environment in which the error condition has occurred.
Similar concerns are also encountered when error conditions are exhibited with devices at customer sites. Field technical personnel are often required to visit the customer site and bring the necessary equipment to observe and evaluate the device, interrupting the customer""s operations and delaying the restoration of service to the customer.
As the time windows available to bring new generations of devices to market continue to decrease and as customer expectations for high device availability continue to increase, there is a continual need for improvements in the art to allow users to quickly and accurately diagnose error conditions associated with data storage devices.
In accordance with preferred embodiments, a block data storage device such as a disc drive is configured to include a data storage medium, a host interface port, a serial communication (COM) port and a programmable controller with associated platform firmware and associated diagnostic firmware.
Generally, the data storage device is remotely accessed by carrying out steps including connecting a client computer and a server computer through a computer network; locally connecting the data storage device to the server computer via the host interface port; using the server computer to transmit a first command to the data storage device through the host interface port to cause the controller to execute the platform firmware; and using the client computer to transmit a second command to the COM port of the data storage device to cause the controller to concurrently execute the diagnostic firmware. The computer network preferably comprises the Internet and communications are preferably carried out using an appropriate communications protocol, such as TCP/IP.
In a preferred embodiment, returned data are transmitted from the COM port of the data storage device to the client computer through the computer network in response to the execution of the diagnostic firmware. The returned data can include information relating to the concurrent execution of the platform firmware.
The COM port can be accessed through a main host interface cable between the server computer and the data storage device, but is preferably accessed using a separate serial interface cable so that the second command is transmitted via the serial interface cable. The diagnostic firmware preferably includes an executable program which is executed by the controller in response to the second command (such as a program that monitors operation of the platform firmware). The second command can also comprise a command to replace existing platform firmware with a new, updated version of platform firmware.
In a preferred approach, appropriate command translation and reporting software having a diagnostic module is loaded onto the server computer and executed to generate the second command in response to a request from the client computer. In this way, the data storage device can be provided with substantially conventional diagnostic routines which are executed remotely by the client computer.
In an alternative preferred approach, the data storage device is configured as a server so that the diagnostic firmware comprises a file system comprising at least one Hypertext Transfer Protocol (HTTP) web page, and wherein the execution of the second command results in display of the at least one HTTP web page on the client computer. In this way, the server PC receives and forwards the requests from the client computer to the data storage device in a file format which is then parsed and executed directly by the diagnostic firmware of the data storage device.
These and various other features and advantages that characterize the claimed invention will be apparent upon reading the following detailed description and upon review of the associated drawings.